#include "exti_key.h"

//按键中断配置
void exti_key1_init(void)
{
    GPIO_InitTypeDef GPIO_InitStruct;

    RCC_AHB1PeriphClockCmd(EXTI_KEY1_CLOCK, ENABLE);

    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN;
    GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_DOWN;
    GPIO_InitStruct.GPIO_Speed = GPIO_Low_Speed;

	GPIO_InitStruct.GPIO_Pin = EXTI_KEY1_PIN;
    GPIO_Init(EXTI_KEY1_PORT, &GPIO_InitStruct);

    EXTI_InitTypeDef EXTI_InitStruct;

    RCC_APB2PeriphClockCmd(EXTI_CLOCK, ENABLE);

    EXTI_InitStruct.EXTI_Mode = EXTI_Mode_Interrupt;
    EXTI_InitStruct.EXTI_Trigger = EXTI_Trigger_Rising;
    EXTI_InitStruct.EXTI_LineCmd = ENABLE;
    EXTI_InitStruct.EXTI_Line = EXTI_KEY1_LINE;
    EXTI_Init(&EXTI_InitStruct);

    SYSCFG_EXTILineConfig(EXTI_KEY1_PORTSOURCE, EXTI_KEY1_PINSOURCE);
}

void exti_key2_init(void)
{
    GPIO_InitTypeDef GPIO_InitStruct;

    RCC_AHB1PeriphClockCmd(EXTI_KEY2_CLOCK, ENABLE);

    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN;
    GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_DOWN;
    GPIO_InitStruct.GPIO_Speed = GPIO_Low_Speed;

    GPIO_InitStruct.GPIO_Pin = EXTI_KEY2_PIN;
    GPIO_Init(EXTI_KEY2_PORT, &GPIO_InitStruct);

    EXTI_InitTypeDef EXTI_InitStruct;

    RCC_APB2PeriphClockCmd(EXTI_CLOCK, ENABLE);

    EXTI_InitStruct.EXTI_Mode = EXTI_Mode_Interrupt;
    EXTI_InitStruct.EXTI_Trigger = EXTI_Trigger_Rising;
    EXTI_InitStruct.EXTI_LineCmd = ENABLE;
    EXTI_InitStruct.EXTI_Line = EXTI_KEY2_LINE;
    EXTI_Init(&EXTI_InitStruct);

    SYSCFG_EXTILineConfig(EXTI_KEY2_PORTSOURCE, EXTI_KEY2_PINSOURCE);

}
